Embodiments disclosed herein relate to randomizing entropy on a parallel computing system.
High quality random numbers are essential for many aspects of computer systems, most notably in the area of security. However, computer systems have a difficult time generating high quality random numbers, i.e., numeric sequences that are close to being truly random. There are many algorithms that generate random numbers, but they typically generate the same sequence of numbers, thus suffering from predictability.
Further, some computing systems may lack, or have limited access to, a convenient source of entropy. Entropy data from the seemingly random behavior of a human typing on a keyboard, for example, may be unavailable to computers without keyboard inputs. The computer may instead rely on time intervals between interrupts as a source of entropy, but this is often unhelpful due to the regularity of such intervals and the ability of outside forces to manipulate such intervals. As a result, computing systems with limited external or user inputs, such as massively parallel computers or embedded systems, may lack entropy data.